Spout: A Transparent Distributed Execution Engine for Java Applets
نویسندگان
چکیده
The advent of executable contents such as Java applets exposes WWW users to a new class of attacks that were not possible before. Despite an array of security checking, detection , and enforcement mechanisms built into the language model, the compiler, and the run-time system of Java, serious security breach incidents due to implementation bugs have been reported in the past several years. Without a provably correct implementation of Java's security speciication, it is diicult to make any conclusive statements about the security characteristic of current Java systems. The Spout project takes an alternative approach to address Java's security problems. Rather than attempt a prov-ably secure implementation, we aim to connne the damages of malicious Java applets to selective machines, thus preventing the machines behind an organization's rewall from being attacked by malicious or buggy applets. More concretely, Spout is a distributed Java execution engine that transparently decouples the processing of an incoming ap-plet's application logic from that of graphical use interface (GUI), such that the only part of an applet that is actually running on the requesting user's host is the harmless GUI code. A unique feature of the Spout architecture is that it is completely transparent to and does not require any modiications to WWW browsers or class libraries on the end hosts. This paper describes the detailed design, implementation, and performance measurements of the rst Spout prototype, which also incorporates run-time resource monitoring mechanisms to defeat denial-of-service attacks.
منابع مشابه
JESSICA2: A Distributed Java Virtual Machine with Transparent Thread Migration Support
A distributed Java Virtual Machine (DJVM) spanning multiple cluster nodes can provide a true parallel execution environment for multi-threaded Java applications. Most existing DJVMs suffer from the slow Java execution in interpretive mode and thus may not be efficient enough for solving computation-intensive problems. We present JESSICA2, a new DJVM running in JIT compilation mode that can exec...
متن کاملJava Resists Transparent Distribution
What would be today's programming language of choice for distributed computing in the Internet? Few would doubt that it should be Java [Arnold/Gosling 96], given its platform independence and the possibility of loading Java applets over the network. So if the prophets and the faithful are right, the basic design and the special features of Java should make distributed programming easy for the e...
متن کاملJASMINE: Java Application Sharing in Multiuser INteractive Environmnets
In this paper, we describe an approach for transparent collaboration with java applets. The main idea behind our system is that user events occurring through the interactions with the application can be caught, distributed, and reconstructed, hence allowing Java applications to be shared transparently. Our approach differs from other collaborative systems in the fact that we make use of already...
متن کاملJASMINE: Java Application Sharing in Multiuser INteractive Environments
In this paper, we describe an approach for transparent collaboration with java applets. The main idea behind our system is that user events occurring through the interactions with the application can be caught, distributed, and reconstructed, hence allowing Java applications to be shared transparently. Our approach differs from other collaborative systems in the fact that we make use of already...
متن کاملUsing Java for the Coordination of Workflows in the World Wide Web
In this paper we introduce a workflow management system, called WebFlow, which is based on the world wide web and Java as its basic technologies. Java is used as the build time (modeling) language to define workflows as well as the implementation language for the run time workflow enactment. Due to the object-orientation of Java modular and extendible workflow types are possible. Modification o...
متن کامل